#ifndef unit_h_
#define unit_h_

#include "SDL/SDL.h"
#include "SDL/SDL_opengl.h"
#include <list>
#include <iostream>

using std::list;

class unit
{
  public:
    unit(); //Lets hope no one ever calls this
    unit(int nx, int ny, int nang = 0, int nwidth = 32, int nheight = 32);
    unit(int nx, int ny, int nang = 0, int nwidth = 32, int nheight = 32, int nhp = 5, int nbounty = 1, GLuint ntex = NULL);
    ~unit();
    
    //graphics
    void draw();
    void draw(double prog);

    virtual GLuint gettex();


    //movement
    void nextSpace();

    
    static GLuint tex; // handle to texture
    int ang;
    int x;
    int y;
    int originx;
    int originy;
    int width;
    int height;
    list<int> path;
    int hp;
    int bounty;
    double progress;
    double slowTowerMod;
    double slowTowerDur;
};




#endif
